Setting Voice and Data Priority Using a Registration Message

ABSTRACT

Concepts and technologies are disclosed herein for setting voice and data priority using a registration message. According to some embodiments, a processor that executes a voice and data priority application can determine a class of device associated with a communication device, a capability indicator that indicates if the communication device is capable of transmitting data communications and if the communication device is capable of transmitting voice communications, and a priority indicator that indicates if data communications are to be prioritized over voice communications for the communication device. The processor also can generate a voice and data priority indicator that indicates the class of device, the capability indicator, and the priority indicator, and save the voice and data priority indicator at a memory associated with the communication device. The communication device can be configured to generate a registration message that includes the voice and data indicator when registering with a network.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 14/090,606, entitled “Setting Voice and DataPriority Using a Registration Message,” filed Nov. 26, 2013, nowallowed, which is incorporated by reference herein in its entirety.

BACKGROUND

Traditionally, network operators provided multiple networks to supportdifferent types of devices. For example, network operators providedwireless networks to support wireless devices and wireline networks tosupport non-wireless devices. These divisions and/or separationstypically were required because wireless and non-wireless deviceshistorically operated and communicated with networks in different ways.

Some network operators have pursued the notion of unified networks,which may communicate with disparate devices in a similar or evenidentical manner. Thus, some modern networks may treat wireless devicesin a manner that is substantially similar (or even identical) to themanner in which non-wireless devices are treated. In fact, from theperspective of a network operator, all devices may be treated the sameway before, during, and even after services are provisioned to thedevices by the network.

In some cases, provisioning services that are not needed by variousdevices has no adverse impact, since these services may simply not beused by the devices. In some other embodiments, however, this unified orconsistent approach to treating and/or registering devices may adverselyaffect performance of the network and/or the devices. For example,treating a set-top box (“STB”) or set-top unit (“STU”) in a manner thatis similar or even identical to the manner in which a mobile device suchas a smartphone is treated may result in less than optimal performance.

In particular, STBs and/or STUs may not have use for voicecommunications, and as such, provisioning these devices with voicecommunications may be unnecessary. Furthermore, preparing the networkfor complex handoff situations for non-mobile devices may be unnecessaryand/or may waste valuable resources. Because the networks are attemptingto provide unified services and/or treatment, however, such wastedresources may be necessary.

SUMMARY

The present disclosure is directed to setting voice and data priorityusing a registration message. A voice and data priority indicator can begenerated for a device such as, for example, a communication device. Thevoice and data priority can indicate, for example, how communicationswith the communication device are to be conducted. In particular, someembodiments of the concepts and technologies described herein includeindicating, in the voice and data priority indicator, how datacommunications and/or voice communications are to be prioritized,particularly in the event of degradation of voice or datacommunications.

In some embodiments, the voice and data priority indicator can includemultiple indicators. In one particular embodiment, the voice and datapriority indicator can include a multi-bit indicator, where the bits canindicate capabilities of the device, how data and/or voicecommunications are to be prioritized, and a class of device. In someembodiments, the multi-bit indicator can have four bits, one bit canindicate an ability of the device to send or receive datacommunications, one bit can indicate an ability of the device to send orreceive voice communications, one bit can indicate a class of the device(mobile or stationary), and one bit can indicate if voice communicationsare prioritized over data communications or if data communications areprioritized over voice communications.

According to various embodiments of the concepts and technologiesdescribed herein, a device can execute a voice and data priorityapplication that can be used to generate and store a voice and datapriority indicator. In some embodiments, a communication device canexecute the voice and data priority application and in some otherembodiments, other devices can execute the voice and data priorityapplication. The voice and data priority indicator can be generated andstored at a data storage device associated with and/or accessible to thecommunication device. In some embodiments, the voice and data priorityindicator can be stored in a subscriber identity module associated withthe communication device, and in some other embodiments, the voice anddata priority indicator can be stored in a memory or other data storagedevice associated with the communication device.

The communication device can be configured, for example via execution ofthe voice and data priority application, to generate a registrationmessage at various times and/or in response to various conditions. Forexample, the communication device can generate the registration message,for example, when the communication device is powered on, when thecommunication device attaches to a new network, when the communicationdevice roams between networks and/or otherwise connects to a new networkor component thereof, combinations thereof, or the like. Theregistration message can include the voice and data priority indicator.

The voice and data priority indicator can be received by a network ornetwork device and used to configure the network or network device forcommunications in accordance with the voice and data priority indicator.According to various embodiments, the voice and data priority indicatorcan be configured to control communications at the network withoutrequiring database lookups and/or involvement from various software orhardware components. In particular, the voice and data priorityindicator can be used to configure hardware to communication inaccordance with the voice and data priority indicator at the hardwarelevel. Thus, some embodiments of the concepts and technologies describedherein can be used to control communications associated with the deviceby providing the registration message without any additional oralternative operations.

According to one aspect of the concepts and technologies disclosedherein, a method is disclosed. The method can include determining, by aprocessor that executes a voice and data priority application, a classof device associated with a communication device, a first capabilityindicator that indicates if the communication device is capable oftransmitting data communications, a second capability indicator if thecommunication device is capable of transmitting voice communications,and a priority indicator that indicates if data communications are to beprioritized over voice communications for the communication device. Themethod also can include generating, by the processor, a voice and datapriority indicator that indicates the class of device, the firstcapability indicator, the second capability indicator, and the priorityindicator. The voice and data priority indicator can be saved at amemory associated with the communication device. The communicationdevice can generate a registration message that can include the voiceand data indicator when registering with a communications network.

In some embodiments, the voice and data priority indicator can include amulti-bit indicator that can be included in the registration message. Insome embodiments, the voice and data priority indicator can include afour bit indicator. The four bit indicator can include a first bitindicating a voice capability of the communication device, a second bitindicating a data capability of the communication device, a third bitindicating a class of device for the communication device, and a fourthbit indicating if the data communications are to be prioritized over thevoice communications. In some embodiments, the registration message caninclude a DoesNotBenefitFromBatteryConsumptionOptimisation informationelement, and the DoesNotBenefitFromBatteryConsumptionOptimisationinformation element can include the four bit indicator.

In some embodiments, the class of device can include an indicator thatindicates that the communication device is a mobile device or astationary device. In some embodiments, the method further can includedetermining, by the processor, if the voice and data priority indicatoris to be updated, and if a determination is made that the voice and datapriority indicator is to be updated, updating the voice and datapriority indicator, and sending the voice and data priority indicator toa network element. In some embodiments, the processor can be associatedwith a computing device, and the voice and data priority indicator canbe stored at a subscriber identity module associated with thecommunication device. In some embodiments, the processor can beassociated with the communication device, and the voice and datapriority indicator can be stored at a subscriber identity moduleassociated with the communication device.

In some embodiments, the voice and data priority indicator can be storedat a data storage device associated with the communication device. Insome embodiments, the method can include transmitting the voice and datapriority indicator to a network element. The voice and data priorityindicator can configure the network element for communications inaccordance with the voice and data priority indicator. In someembodiments, the network element can include a base transceiver stationassociated with a wireless network.

According to another aspect of the concepts and technologies disclosedherein, a system is disclosed. The system can include a processor and amemory. The memory can store computer-executable instructions that, whenexecuted by the processor, cause the processor to perform operations.The operations can include determining a class of device associated witha communication device, determining a data capability indicator thatindicates if the communication device is capable of transmitting datacommunications, determining a voice capability indicator that indicatesif the communication device is capable of transmitting voicecommunications, and determining a priority indicator that indicates ifdata communications are to be prioritized over voice communications forthe communication device. The operations further can include generatinga voice and data priority indicator that indicates the class of device,the data capability indicator, the voice capability indicator, and thepriority indicator. The operations also can include saving the voice anddata priority indicator at a memory associated with the communicationdevice. The communication device can generate a registration messagethat can include the voice and data indicator when registering with acommunications network.

In some embodiments, the voice and data priority indicator can include afour bit indicator. The four bit indicator can include a first bitcorresponding to the class of device, a second bit corresponding to thedata capability indicator, a third bit corresponding to the voicecapability indicator, and a fourth bit corresponding to the priorityindicator. In some embodiments, the registration message can include aDoesNotBenefitFromBatteryConsumptionOptimisation information element,and the DoesNotBenefitFromBatteryConsumptionOptimisation informationelement can include the four bit indicator. In some embodiments, theclass of device can include an indicator that indicates that thecommunication device is a mobile device or a stationary device. In someembodiments, the voice and data priority indicator can be stored at asubscriber identity module associated with the communication device.

According to yet another aspect, a computer storage medium is disclosed.The computer storage medium can have stored thereon computer-executableinstructions that, when executed by a processor, cause the processor toperform operations. The operations can include determining a class ofdevice associated with a communication device, determining a datacapability indicator that indicates if the communication device iscapable of transmitting data communications, determining a voicecapability indicator that indicates if the communication device iscapable of transmitting voice communications, and determining a priorityindicator that indicates if data communications are to be prioritizedover voice communications for the communication device. The operationsalso can include generating a voice and data priority indicator thatindicates the class of device, the data capability indicator, the voicecapability indicator, and the priority indicator. The operations alsocan include saving the voice and data priority indicator at a memoryassociated with the communication device. The communication device cangenerate a registration message that can include the voice and dataindicator when registering with a communications network.

In some embodiments, the voice and data priority indicator can include afour bit indicator. The four bit indicator can include a first bitcorresponding to the class of device, a second bit corresponding to thedata capability indicator, a third bit corresponding to the voicecapability indicator, and a fourth bit corresponding to the priorityindicator. In some embodiments, the registration message can include aDoesNotBenefitFromBatteryConsumptionOptimisation information element,and the DoesNotBenefitFromBatteryConsumptionOptimisation informationelement can include the four bit indicator. In some embodiments, thevoice and data priority indicator can be stored at a subscriber identitymodule associated with the communication device.

Other systems, methods, and/or computer program products according toembodiments will be or become apparent to one with skill in the art uponreview of the following drawings and detailed description. It isintended that all such additional systems, methods, and/or computerprogram products be included within this description, be within thescope of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system diagram illustrating an illustrative operatingenvironment for the various embodiments disclosed herein.

FIG. 2 is a flow diagram showing aspects of a method for setting a voiceand data priority indicator and including the voice and data priorityindicator as part of a registration message, according to anillustrative embodiment.

FIG. 3 is a flow diagram showing aspects of a method for communicatingin accordance with a voice and data priority indicator included in aregistration message, according to another illustrative embodiment.

FIG. 4 is a line diagram illustrating an example network tuning profile,according to one illustrative embodiment.

FIG. 5 is a flow diagram showing aspects of a method for updating avoice and data priority indicator, according to another illustrativeembodiment.

FIG. 6 schematically illustrates a network, according to an illustrativeembodiment.

FIG. 7 is a block diagram illustrating an example computer systemconfigured to set a voice and data priority indicator, according to someillustrative embodiments.

FIG. 8 is a block diagram illustrating an example mobile deviceconfigured to set a voice and data priority using a registrationmessage, according to some illustrative embodiments.

DETAILED DESCRIPTION

The following detailed description is directed to setting voice and datapriority using a registration message. In some embodiments, a voice anddata priority indicator can include multiple indicators. In oneparticular embodiment, the voice and data priority indicator can includea multi-bit indicator. The bits of the multi-bit indicator can indicatecapabilities and/or communication preferences associated with acommunication device. The indicators can include, for example,indicators of whether or not the communication device supports voicecommunications, whether or not the communication device supports datacommunications, whether data and/or voice communications are to beprioritized, and a class of device that indicates if the communicationdevice is mobile or stationary.

In some embodiments, the multi-bit indicator can have four bits, one bitcan indicate an ability of the communication device to send or receivedata communications, one bit can indicate an ability of thecommunication device to send or receive voice communications, one bitcan indicate a class of the communication device (mobile or stationary),and one bit can indicate if voice communications are prioritized overdata communications or if data communications are prioritized over voicecommunications. Because additional and/or alternative indicators arepossible and are contemplated, it should be understood that theseexamples are illustrative and therefore should not be construed as beinglimiting in any way.

According to various embodiments of the concepts and technologiesdescribed herein, a device can execute a voice and data priorityapplication that can be used to generate and store a voice and datapriority indicator. In some embodiments, a communication device canexecute the voice and data priority application and in some otherembodiments, other devices such as computing devices or the like canexecute the voice and data priority application. The voice and datapriority indicator can be generated and stored at a data storage deviceassociated with and/or accessible to the communication device. In someembodiments, the voice and data priority indicator can be stored in asubscriber identity module associated with the communication device, andin some other embodiments, the voice and data priority indicator can bestored in a memory of other data storage device associated with thecommunication device.

The communication device can be configured, for example via execution ofthe voice and data priority application, to generate a registrationmessage at various times and/or in response to various conditions. Forexample, the communication device can generate the registration message,for example, when the communication device is powered on, when thecommunication device attaches to a new network, when the communicationdevice roams between networks and/or otherwise connects to a new networkor component thereof, combinations thereof, or the like. Theregistration message can include the voice and data priority indicator.

The voice and data priority indicator can be received by a network ornetwork device and used to configure the network or network device forcommunications in accordance with the voice and data priority indicator.According to various embodiments, the voice and data priority indicatorcan be configured to control communications at the network withoutrequiring database lookups and/or involvement from various software orhardware components. In particular, the voice and data priorityindicator can be used to configure hardware to communicate in accordancewith the voice and data priority indicator at the hardware level. Thus,some embodiments of the concepts and technologies described herein canbe used to control communications associated with the device byproviding the registration message without any additional or alternativeoperations.

While the subject matter described herein is presented in the generalcontext of program modules that execute in conjunction with theexecution of an operating system and application programs on a computersystem, those skilled in the art will recognize that otherimplementations may be performed in combination with other types ofprogram modules. Generally, program modules include routines, programs,components, data structures, and other types of structures that performparticular tasks or implement particular abstract data types. Moreover,those skilled in the art will appreciate that the subject matterdescribed herein may be practiced with other computer systemconfigurations, including hand-held devices, multiprocessor systems,microprocessor-based or programmable consumer electronics,minicomputers, mainframe computers, and the like.

Referring now to FIG. 1, aspects of an operating environment 100 forvarious embodiments of the concepts and technologies disclosed hereinfor setting voice and data priority using a registration message will bedescribed, according to an illustrative embodiment. The operatingenvironment 100 shown in FIG. 1 includes a communication device 102operating in communication with and/or as part of a communicationsnetwork (“network”) 104.

According to various embodiments, the functionality of the communicationdevice 102 may be provided by one or more server computers, desktopcomputers, mobile telephones, laptop computers, set-top boxes, othercomputing systems, and the like. In particular, the functionality of thecommunication device 102 can be provided by almost any device that mayregister with a network, device, or other entity to obtainingprovisioned services such as voice or data communications. For purposesof describing the concepts and technologies disclosed herein, thecommunication device 102 is described herein as a mobile telephone. Itshould be understood that this embodiment is illustrative, and shouldnot be construed as being limiting in any way.

The communication device 102 can execute an operating system 106 and oneor more application programs such as, for example, a voice and datapriority application 108. The operating system 106 is a computer programfor controlling the operation of the communication device 102. The voiceand data priority application 108 is an executable program configured toexecute on top of the operating system 106 to provide various functionsas described herein for setting, using, updating, and communicating inaccordance with a voice and data priority indicator included in aregistration message.

The voice and data priority application 108 can be configured togenerate, store, retrieve, and/or transmit a voice and data priorityindicator 110 to one or more recipients. In some embodiments, the voiceand data priority application 108 can be configured to generate anelement for a registration message 112, where the element includes orrepresents the voice and data priority indicator 110. In one particularembodiment, the voice and data priority application 108 can beconfigured to generate a header or other element for the registrationmessage 112, wherein the header or other element includes a single-bitor multi-bit indicator for specifying a voice and data priority.

In one embodiment, which is illustrated in FIG. 1, the voice and datapriority application 108 can be configured to generate, store, access,and/or transmit a voice and data priority indicator 110 that is a fourbit indicator. The four bit indicator can specify, for example, a bitthat indicates if the communication device 102 is data capable, a bitthat indicates if the communication device 102 is voice capable, a bitthat indicates if the communication device 102 is mobile or stationary,a bit that indicates if data is to be prioritized over voice or theopposite, combinations thereof, or the like. Because the voice and datapriority indicator 110 can include less than four bits, four bits,and/or more than four bits, it should be understood that this example isillustrative and therefore should not be construed as being limiting inany way. Furthermore, because a four bit voice and data priorityindicator 110 can include bits directed to additional and/or alternativeinformation, it should be understood that this example is illustrativeand therefore should not be construed as being limiting in any way.

According to various embodiments, the communication device 102 can beconfigured, for example via execution of the voice and data priorityapplication 108, to transmit the voice and data priority indicator 110to a wireless network 114 or an element thereof. For example, thecommunication device 102 can be configured to transmit the voice anddata priority indicator 110 as part of a registration message 112 thatcan be transmitted to a base transceiver station (“BTS”) 116, forexample via an antenna or tower (“tower”) 118. It should be understoodthat this example is illustrative and therefore should not be construedas being limiting in any way.

The BTS 116 can include and/or can communicate with a module, hardwareelement, application, or the like, to apply the voice and data priorityindicator 110 to communications occurring via the BTS 116, the tower118, and/or the wireless network 114 in general, if desired. In onecontemplated embodiment, the BTS 116 can include and/or can communicatewith a communication manager 120 to apply the voice and data priorityindicator 110 to communications occurring via the BTS 116. In anotherembodiment, the BTS 116 includes a communication manager 120 that canapply the voice and data priority indicator 110 to communicationsoccurring via the BTS 116 at the radio level. Thus, some embodiments ofthe concepts and technologies described herein can allow a BTS 116 oreven a radio or other transceiver within the BTS 116 to apply voice anddata priority decisions at the radio level without requiringintervention from network devices, systems, hardware, software, and/orother elements. It should be understood that these examples areillustrative and therefore should not be construed as being limiting inany way.

Because various embodiments of the concepts and technologies describedherein can be used to allow the communication device 102 to set a voiceand data priority for communications, it can be appreciated that variousvoice and data priority decisions can be offloaded from one or morenetworks and/or network devices to radios, combiners, transceivers, orthe like at a cellular or other wireless networking site such as the BTS116, the tower 118, or the like. Furthermore, as will be illustrated anddescribed in more detail below, the communication device 102 can beconfigured to update a voice and data priority via registration messages112 and/or other communications with various entities such as, forexample, the BTS 116 and/or other devices, systems, and/or networks. Itshould be understood that this example is illustrative and thereforeshould not be construed as being limiting in any way.

In some embodiments of the concepts and technologies described herein,the voice and data priority indicator 110 for a particular device suchas the communication device 102 can be set by various devices orentities and loaded to or otherwise stored at the communication device102. For example, some embodiments of the concepts and technologiesdescribed herein include storing the voice and data priority indicator110 at a subscriber identity module (“SIM”) associated with thecommunication device 102, a memory or other data storage deviceassociated with the communication device 102, or the like. The voice anddata priority indicator 110 can be created or generated by thecommunication device 102, for example by the voice and data priorityapplication 108, or by other entities.

In one embodiment of the concepts and technologies described herein, thevoice and data priority indicator 110 can be generated by a computingdevice 122 that is in communication with the communication device 102.The computing device 122 can include, for example, a device associatedwith a device manufacturer, a device retailer, a device distributer, orthe like, for the communication device 102. Thus, for example, amanufacturer may generate the voice and data priority indicator 110using the computing device 122 and store the voice and data priorityindicator 110 at the communication device 102 by flashing a BIOS or SIMcard, by storing the data in a memory, by configuring the communicationdevice 102 to include the voice and data priority indicator 110 in aregistration message 112, combinations thereof, or the like.

In some embodiments, the computing device 122 can host or execute anapplication program to provide the functionality described herein withrespect to the computing device 122. For example, the computing device122 can be configured to execute computer-executable instructions thatare similar or even identical to the voice and data priority application108 executed by the communication device 102. As such, as will beexplained in more detail below, the computing device 122 can beconfigured to generate, store, retrieve, and/or share the voice and datapriority indicator 110, in some embodiments. These and other embodimentsof the concepts and technologies described herein will be illustratedand described in more detail below.

In practice, a voice and data priority indicator 110 can be generatedfor a particular device such as, for example, the communication device102. According to various embodiments, the voice and data priorityindicator 110 can be generated for the communication device 102 using avoice and data priority application 108 executed by the communicationdevice 102, by a voice and data priority application 108 executed byanother device such as the computing device 122, and/or by otherentities. Furthermore, the voice and data priority indicator 110 can beupdated or replaced at various times, by various entities, and/or forvarious reasons.

The voice and data priority indicator 110 can indicate, for a particulardevice or devices, a priority to be assigned to data communications,voice communications, other communications, combinations thereof, or thelike. In one embodiment, the voice and data priority indicator 110 caninclude a four-bit indicator, where one bit indicates a voicecapability, one bit can indicate a data capability, one bit can indicatea device type (whether the device is stationary or mobile), and one bitcan indicate a data priority (whether data communicates are to besuspended or diminished if voice communications degrade). In someembodiments, the voice and data priority indicator 110 can be includedas a header or other element in a registration message 112. Because thevoice and data priority indicator 110 can include additional oralternative bits, non-bit indicators, and/or can be included in othertypes of messages and/or communications, it should be understood thatthese examples are illustrative and therefore should not be construed asbeing limiting in any way.

The voice and data priority indicator 110 can be stored at thecommunication device 102. In some embodiments, for example, the voiceand data priority indicator 110 can be stored in a memory, a subscriberidentity module (“SIM”) or other device, combinations thereof, or thelike. The communication device 102 can be configured to retrieve thevoice and data priority indicator 110 at various times and/or forvarious purposes. For example, the communication device 102 can beconfigured to retrieve the voice and data priority indicator 110 duringa power-up operation, during a registration process (e.g., whenpreparing a registration message 112 or the like), when roaming orchanging towers or networks, at various times, combinations thereof, orthe like. In the embodiment shown in FIG. 1, the communication device102 can provide the voice and data priority indicator 110 to a wirelessnetwork 114 as part of the registration message 112 and thereby set avoice and data priority for communications via the wireless network 114.It should be understood that this example is illustrative and thereforeshould not be construed as being limiting in any way.

A device on the wireless network 114 or other networks and/or devicescan receive the registration message 112 and recognize the voice anddata priority indicator 110 as part of or as being included with theregistration message 112. The wireless network 114 or a deviceassociated with the wireless network 114 such as, for example a BTS 116,a communication manager 120, or the like, can be configured to recognizethe voice and data priority indicator 110 and configure the wirelessnetwork 114 and/or components thereof to communicate in accordance withthe voice and data priority indicator 110. According to variousembodiments, one or more components of the wireless network 114 can beconfigured to apply the voice and data priority indicator 110 tocommunications occurring via the wireless network 114.

Furthermore, as noted above, the voice and data priority indicator 110can be applied, in some embodiments, by devices or software modules suchas a communications manager 120 that may be a stand-alone device thatmanages communications occurring on the wireless network 114 and/or maybe a component of other devices or systems such as the BTS 116, or thelike. In some other embodiments, the voice and data priority indicator110 can be applied to communications by hardware devices such as radios,combiners, transceivers, receivers, transmitters, or the like, withoutinvolvement by other devices. Thus, the voice and data priorityindicator 110 can be applied to communications in various mannersincluding, but not limited to, at the radio level, at the device level,and/or at a control and/or signaling level such as by network operationssystems or the like. It should be understood that these examples areillustrative and therefore should not be construed as being limiting inany way.

The communication device 102 can be configured to submit and/or resubmitthe voice and data priority indicator 110 and/or iterations of the voiceand data priority indicator 110 at various times and/or in response tovarious conditions. Thus, for example, the communication device 102 cansubmit the voice and data priority indicator 110 or an updated versionthereof when registering with a new device or network, when roaming,when switching towers, at other times, combinations thereof, or thelike. Thus, in addition to setting a voice and data priority for voiceand/or data communications, various embodiments of the concepts andtechnologies described herein can be used to update or change a voiceand data priority during communications and/or at other times.

FIG. 1 illustrates one communication device 102, one network 104, oneBTS 116, one tower 118, one communication manager 120, and one computingdevice 122. It should be understood, however, that variousimplementations of the operating environment 100 include zero, one, ormore than one communication device 102; zero, one, or more than onenetwork 104; zero, one, or more than one BTS 116; zero, one, or morethan one tower 118; zero, one, or more than one communication manager120; and/or zero, one, or more than one computing device 122. As such,the illustrated embodiment should be understood as being illustrative,and should not be construed as being limiting in any way.

Turning now to FIG. 2, aspects of a method 200 for setting a voice anddata priority indicator and including the voice and data priorityindicator as part of a registration message will be described in detail,according to an illustrative embodiment. It should be understood thatthe operations of the methods disclosed herein are not necessarilypresented in any particular order and that performance of some or all ofthe operations in an alternative order(s) is possible and iscontemplated. The operations have been presented in the demonstratedorder for ease of description and illustration. Operations may be added,omitted, and/or performed simultaneously, without departing from thescope of the concepts and technologies disclosed herein.

It also should be understood that the methods disclosed herein can beended at any time and need not be performed in its entirety. Some or alloperations of the methods, and/or substantially equivalent operations,can be performed by execution of computer-readable instructions includedon a computer storage media, as defined herein. The term“computer-readable instructions,” and variants thereof, as used herein,is used expansively to include routines, applications, applicationmodules, program modules, programs, components, data structures,algorithms, and the like. Computer-readable instructions can beimplemented on various system configurations including single-processoror multiprocessor systems, minicomputers, mainframe computers, personalcomputers, hand-held computing devices, microprocessor-based,programmable consumer electronics, combinations thereof, and the like.

Thus, it should be appreciated that the logical operations describedherein are implemented (1) as a sequence of computer implemented acts orprogram modules running on a computing system and/or (2) asinterconnected machine logic circuits or circuit modules within thecomputing system. The implementation is a matter of choice dependent onthe performance and other requirements of the computing system.Accordingly, the logical operations described herein are referred tovariously as states, operations, structural devices, acts, or modules.These states, operations, structural devices, acts, and modules may beimplemented in software, in firmware, in special purpose digital logic,and any combination thereof. As used herein, the phrase “cause aprocessor to perform operations” and variants thereof is used to referto causing a processor of a computing system or device, such as thecommunication device 102, the computing device 122, and/or thecommunication manager 120, to perform one or more operations and/orcausing the processor to direct other components of the computing systemor device to perform one or more of the operations.

For purposes of illustrating and describing the concepts of the presentdisclosure, the method 200 is described as being performed by thecommunication device 102 via execution of one or more software modulessuch as, for example, the voice and data priority application 108. Itshould be understood that additional and/or alternative devices and/ornetwork nodes can provide the functionality described herein viaexecution of one or more modules, applications, and/or other softwareincluding, but not limited to, the voice and data priority application108. For example, as shown in FIG. 1, some or all of the operations ofthe method 200 can be executed by the computing device 122 via executionof various application programs including, but not limited to, a voiceand data priority application 108. Thus, the illustrated embodiments areillustrative, and should not be viewed as being limiting in any way.

The method 200 begins at operation 202. At operation 202, thecommunication device 102 determines a device class. According to variousembodiments of the concepts and technologies described herein, a “deviceclass” or “class of device” can be used to refer to whether a device isstationary or mobile. According to various embodiments, an indicationfor how to deal with degrading data and/or voice communications may bemore relevant for a mobile device such as a smartphone or the like,relative to a stationary device such as a set-top box, or the like.Thus, the device class can indicate whether a device for which the voiceand data priority indicator 110 is being generated or stored is mobileor moveable, or if the device is stationary.

According to some embodiments of the concepts and technologies describedherein, where the voice and data priority indicator 110 includes amulti-bit indicator, the device class bit can be set to zero (“0”) ifthe device is stationary and one (“1”) if the device is mobile. Itshould be understood, of course, that the device class bit can insteadbe set to zero (“0”) for a mobile device and one (“1”) for a stationarydevice. Because non-binary bits may be used, because there may be morethan two classes of devices, and/or because various types of binaryindicators aside from one and zero may be used in accordance withvarious embodiments of the concepts and technologies described herein,it should be understood that this example is illustrative and thereforeshould not be construed as being limiting in any way.

From operation 202, the method 200 proceeds to operation 204. Atoperation 204, the communication device 102 determines devicecapabilities. According to various embodiments, the communication device102 can determine if the communication device 102 is capable of voicecommunications and if the communication device 102 is capable of datacommunications. The communication device 102 can determine its voice anddata capabilities in a variety of ways such as, for example, determiningif a voice channel or data channel is available for communications, bydetermining if the device is configured to access voice channels or datachannels, by accessing capability indicators associated with the device,combinations thereof, or the like. Because the communication device 102can determine its voice and/or data capabilities in additional and/oralternative ways, it should be understood that these examples areillustrative and therefore should not be construed as being limiting inany way.

According to some embodiments of the concepts and technologies describedherein, where the voice and data priority indicator 110 includes amulti-bit indicator, two or more bits can be used to indicate devicecapabilities. For example, the voice and data priority indicator 110 caninclude a bit for voice capabilities and/or a bit for data capabilities.In some embodiments, the data capabilities bit can be set to zero (“0”)if the device is data capable and one (“1”) if the device is not datacapable. In some other embodiments, the data capabilities bit can be setto zero (“0”) if the device is not data capable and one (“1”) if thedevice is data capable. Because non-binary bits may be used, becausethere may be more than two definitions of data capabilities, and/orbecause various types of binary indicators aside from one and zero maybe used in accordance with various embodiments of the concepts andtechnologies described herein, it should be understood that this exampleis illustrative and therefore should not be construed as being limitingin any way.

Similarly, in some embodiments the voice capabilities bit can be set tozero (“0”) if the device is voice capable and one (“1”) if the device isnot voice capable. In some other embodiments, the voice capabilities bitcan be set to zero (“0”) if the device is not voice capable and one(“1”) if the device is voice capable. Because non-binary bits may beused, because there may be more than two definitions of voicecapabilities, and/or because various types of binary indicators asidefrom one and zero may be used in accordance with various embodiments ofthe concepts and technologies described herein, it should be understoodthat this example is illustrative and therefore should not be construedas being limiting in any way.

From operation 204, the method 200 proceeds to operation 206. Atoperation 206, the communication device 102 determines prioritizationfor communications conducted using the communication device 102.According to various embodiments of the concepts and technologiesdescribed herein, the prioritization determined in operation 206 candefine if data communications associated with the communication device102 are to be suspended, downgraded, diminished, or otherwise changed inresponse to degradation in voice communications associated with thecommunication device 102. According to some other embodiments of theconcepts and technologies described herein, the prioritizationdetermined in operation 206 can define if voice communicationsassociated with the communication device 102 are to be suspended,downgraded, diminished, or otherwise changed in response to degradationin data communications associated with the communication device 102. Assuch, it can be appreciated that the prioritization determined inoperation 206 can define whether or not voice or data communications areto be suspended, degraded, or otherwise changed in response todegradation in data or voice communications, respectively.

According to some embodiments of the concepts and technologies describedherein, where the voice and data priority indicator 110 includes amulti-bit indicator, one or more bits can be used to indicate aprioritization setting or preference. For example, the voice and datapriority indicator 110 can include a bit for prioritization. In someembodiments, the prioritization bit can be set to zero (“0”) if datacommunications are to be suspended or downgraded in response to adegradation in voice communications and one (“1”) if the datacommunications are not to be suspended or downgraded in response to adegradation in voice communications. In some other embodiments, theprioritization bit can be set to zero (“0”) if voice communications areto be suspended or downgraded in response to a degradation in datacommunications and one (“1”) if the voice communications are not to besuspended or downgraded in response to a degradation in datacommunications. Because non-binary bits may be used, because there maybe more than two definitions of prioritization, and/or because varioustypes of binary indicators aside from one and zero may be used inaccordance with various embodiments of the concepts and technologiesdescribed herein, it should be understood that this example isillustrative and therefore should not be construed as being limiting inany way.

From operation 206, the method 200 proceeds to operation 208. Atoperation 208, the communication device 102 generates a voice and datapriority indicator such as the voice and data priority indicator 110. Insome embodiments of the concepts and technologies described herein, thevoice and data priority indicator 110 can include a single-bit ormulti-bit indicator. In one particular embodiment, the voice and datapriority indicator 110 can include a four-bit indicator.

As such, operation 208 can include generating the four bits for thevoice and data priority indicator 110. As explained above, the four bitscan include a bit that indicates a voice capability of a device, a bitthat indicates a data capability of a device, a device class thatindicates whether a device is stationary or mobile, a prioritization bitthat indicates if data or voice are to be affected in response todegradation of other communications, other bits, combinations thereof,or the like. In some embodiments of the concepts and technologiesdescribed herein, the voice and data priority indicator 110 can beconfigured by the communication device 102 and/or other devices forsubmission within, with, or as part of a registration message 112, forexample as a registration message element that can be submitted to adevice or network to register the communication device 102 with thenetwork. It should be understood that this example is illustrative andtherefore should not be construed as being limiting in any way.

From operation 208, the method 200 proceeds to operation 210. Atoperation 210, the communication device 102 stores the voice and datapriority indicator 110. The voice and data priority indicator 110 can bestored at the communication device 102 and/or elsewhere. In someembodiments, the voice and data priority indicator 110 can be stored ata memory or other data storage device associated with the communicationdevice 102. In some embodiments, the voice and data priority indicator110 can be stored by a subscriber identity device such as a SIM card orother subscriber or device identification modules or cards. Because thevoice and data priority indicator 110 can be stored in any desired datastorage location and/or devices, it should be understood that theseexamples are illustrative and therefore should not be construed as beinglimiting in any way.

From operation 210, the method 200 proceeds to operation 212. The method200 ends at operation 212.

Turning now to FIG. 3, aspects of a method 300 for communicating inaccordance with a voice and data priority indicator included in aregistration message will be described in detail, according to anillustrative embodiment. For purposes of illustrating and describing theconcepts of the present disclosure, the method 300 is described as beingperformed by the communication manager 120 via execution of one or moresoftware modules such as, for example, a communication manager module orapplication. It should be understood that additional and/or alternativedevices and/or network nodes can provide the functionality describedherein via execution of one or more modules, applications, and/or othersoftware. Thus, the illustrated embodiments are illustrative, and shouldnot be viewed as being limiting in any way.

The method 300 begins at operation 302. At operation 302, thecommunication manager 120 receives a registration message 112. Asexplained above, the registration message 112 can be received fromvarious devices such as, for example, the communication device 102 orother devices. The registration message 112 can be received at varioustimes, for example upon powering up of the communication device 102,upon roaming of the communication device 102, upon connecting orreconnecting to network hardware, and/or at other times. Because variousdevices including, but not limited to, the communication device 102 cantransmit the registration message 112, it should be understood thatthese examples are illustrative and therefore should not be construed asbeing limiting in any way.

From operation 302, the method 300 proceeds to operation 304. Atoperation 304, the communication manager 120 detects a voice and datapriority indicator 110 in the registration message 112 received inoperation 302. Because the voice and data priority indicator 110 can bea header or element of the registration message 112, operation 304 cancorrespond to the communication manager 120 analyzing or parsing theregistration message 112 and recognizing the voice and data priorityindicator 110 in the registration message 112.

Additionally, or alternatively, operation 304 can correspond to thecommunication manager 120 searching the registration message 112 for thevoice and data priority indicator 110 and/or other devices, systems,modules, or the like indicating that the voice and data priorityindicator 110 is included in the registration message 112. Because thepresence of the voice and data priority indicator 110 in theregistration message 112 can occur in a variety of manners, it should beunderstood that these examples are illustrative and therefore should notbe construed as being limiting in any way.

From operation 304, the method 300 proceeds to operation 306. Atoperation 306, the communication manager 120 registers the device thatsent the registration message 112 received in operation 302. Accordingto various embodiments, the communication manager 120 can register thedevice that sent the registration message with the wireless network 114and/or with a particular device, system, or node such as, for example,the BTS 116, or the like. As noted above, registration of the devicethat sent the registration message 112 can occur at the network level,the device level, or even the component level (e.g., a radio,transceiver, or the like).

As such, some embodiments of the concepts and technologies describedherein allow registration of the device that sent the registrationmessage 112 without requiring software or the like and/or withoutinvolving devices, nodes, or modules outside of a particular radio,transceiver, receiver, or transmitter that is involved in providingcommunications capabilities to the device that generated theregistration message 112. It should be understood that these examplesare illustrative and therefore should not be construed as being limitingin any way.

From operation 306, the method 300 proceeds to operation 308. Atoperation 308, the communication manager 120 enables communications inaccordance with the voice and data priority indicator 110 detected inoperation 304. In some embodiments, the communication manager 120 cancommunicate the communication preferences identified by the registrationmessage 112 to various hardware, software, or the like within orassociated with the wireless network 114. As explained above, thepreferences can be applied at the device level without requiring networkinteractions, if desired. Thus, enabling the communications can includeoperating a radio or the like in accordance with the preferences and/orpassing the preferences on to other devices, systems, networks, or thelike. It should be understood that this example is illustrative andtherefore should not be construed as being limiting in any way.

In some embodiments, the communication manager 120 can be configured tomaintain a table, database, or other data structure that can define anetwork tuning profile. The network tuning profile can defined forspecific iterations of the voice and data priority indicator 110. Anexample of one illustrative network turning profile table or other datastructure is shown in FIG. 4.

As can be seen in FIG. 4, a table 400 can be configured to embodynetwork tuning profiles and to associate multiple network tuningprofiles with iterations of the voice and data priority indicator 110.It should be understood that the illustrated table 400 is illustrativeof some contemplated embodiments of possible network turning profiles.As such, the embodiment shown in FIG. 4 should not be construed as beinglimiting in any way.

As shown in FIG. 4, a row 402 of the table 400 can correspond to oneiteration of the voice and data priority indicator 110. In the row 402,the voice and data priority indicator 110 can be 1,1,1,1, which canindicate that the device that transmitted the voice and data priorityindicator 110 is voice capable, data capable, stationary, and that datais to be prioritized. It can be appreciated that this is one exampleembodiment of what the voice and data priority indicator 110 1,1,1,1,can indicate, and as such, this example should not be construed as beinglimiting in any way.

As shown in FIG. 4, this voice and data priority indicator 110 cancorrespond, for example, to a multi-radio access bearer (“mRAB”) capabledevice that is stationary and is configured to prioritize datacommunications over voice communications. As shown in FIG. 4, thenetwork tuning profile can set various parameters for communicating withthe device that generated this voice and data priority indicator 110 byconfiguring radio channels, a scheduler, and defining if voice and/ordata are to be dropped if marginal.

Similarly, a row 404 of the table 400 can correspond to a seconditeration of the voice and data priority indicator 110. In the row 404,the voice and data priority indicator 110 can be 1,1,1,0, which canindicate that the device that transmitted the voice and data priorityindicator 110 is voice capable, data capable, stationary, and that voiceis to be prioritized. It can be appreciated that this is one exampleembodiment of what the voice and data priority indicator 110 1,1,1,0,can indicate, and as such, this example should not be construed as beinglimiting in any way.

As shown in FIG. 4, this voice and data priority indicator 110 cancorrespond, for example, to a multi-radio access bearer (“mRAB”) capabledevice that is stationary and is configured to prioritize voicecommunications over data communications. As shown in FIG. 4, the networktuning profile can set various parameters for communicating with thedevice that generated this voice and data priority indicator 110 byconfiguring radio channels, a scheduler, and defining if voice and/ordata are to be dropped if marginal. As noted above, the two example rowsdescribed herein are examples and should not be construed as beinglimiting in any way.

From operation 308, the method 300 proceeds to operation 310. The method300 ends at operation 310.

Turning now to FIG. 5, aspects of a method 500 for updating a voice anddata priority indicator will be described in detail, according to anillustrative embodiment. For purposes of illustrating and describing theconcepts of the present disclosure, the method 500 is described as beingperformed by the communication device 102 via execution of one or moresoftware modules such as, for example, the voice and data priorityapplication 108. It should be understood that additional and/oralternative devices and/or network nodes can provide the functionalitydescribed herein via execution of one or more modules, applications,and/or other software including, but not limited to, the voice and datapriority application 108. Thus, the illustrated embodiments areillustrative, and should not be viewed as being limiting in any way.

The method 500 begins at operation 502. At operation 502, thecommunication device 102 communicates with a network element. In someembodiments, for example, the communication device 102 can communicatewith a wireless network 114 or an element thereof such as, for example,a BTS 116. In some embodiments, the communication illustrated inoperation 502 can occur via an antenna, a radio, a receiver, atransceiver, a combiner, and/or other hardware associated with the BTS116 and/or a tower 118. Because communication with wireless networkssuch as the wireless network 114 are generally understood, thefunctionality of the communication device 102 with regard to operation502 will not be described in additional detail.

From operation 502, the method 500 proceeds to operation 504. Atoperation 504, the communication device 102 determines if a registrationmessage 112 is to be generated. As explained above, the communicationdevice 102 can be configured, via execution of the voice and datapriority application 108, to generate the registration message 112 atvarious times. According to various embodiments of the concepts andtechnologies described herein, the registration message 112 can begenerated when the communication device 102 is powered on, whencommunication device 102 detects communication with a network or networkcomponent, when the communication device roams onto a different networkor connects to a new network or network component, according to variousschedules and/or upon expiration of various time intervals, combinationsthereof, or the like. Because the communication device 102 can determinethat the registration message 112 is to be generated at various timesand/or in response to various conditions, it should be understood thatthese examples are illustrative and therefore should not be construed asbeing limiting in any way.

If the communication device 102 determines, in operation 504, that theregistration message 112 is not be generated, the method 500 can returnto operation 502. As such, it can be appreciated that the method 500 canrepeat operations 502-404 until the communication device 102 determines,in any iteration of operation 504, that a registration message 112 is tobe generated. Additionally, or alternatively, the execution of themethod 500 can pause at operation 504 until the communication device 102determines, in any iteration of operation 504, that the registrationmessage 112 is to be generated. If the communication device 102determines, in any iteration of operation 504, that the registrationmessage 112 is to be generated, the method 500 can proceed to operation506.

At operation 506, the communication device 102 can retrieve the voiceand data priority indicator 110. According to various embodiments of theconcepts and technologies described herein, the communication device 102can retrieve the voice and data priority indicator 110 from a SIMmodule, a memory, and/or other data storage devices or locations.According to some other embodiments, the communication device 102 canstore various instructions that, when executed, cause the communicationdevice 102 to generate the voice and data priority indicator 110.Because the communication device 102 can retrieve or generate the voiceand data priority indicator 110 at various times and/or in response tovarious conditions, it should be understood that these examples areillustrative and therefore should not be construed as being limiting inany way.

From operation 506, the method 500 proceeds to operation 508. Atoperation 508, the communication device 102 can send the voice and datapriority indicator 110 as part of a registration message 112. In variousembodiments, the voice and data priority indicator 110 can be includedas a header or element of a registration message 112. For example, someembodiments of the concepts and technologies described herein areconfigured to insert the voice and data priority indicator 110 into theregistration message 112 by using one or more information elements ofthe registration message 112.

In one contemplated embodiment of the concepts and technologiesdescribed herein, the “DoesNotBenefitFromBatteryConsumptionOptimisation”information element of a registration message 112 can be used to storethe voice and data priority indicator 110. In particular, someembodiments of the concepts and technologies described herein can usethe “DoesNotBenefitFromBatteryConsumptionOptimisation” informationelement because this element may not be used in registration messages112. Thus, some embodiments of the concepts and technologies describedherein can include the voice and data priority indicator 110 withoutadding new information elements to the registration message 112 and/orwithout any additional communications (outside of the registrationmessage 112). It should be understood that these examples areillustrative and therefore should not be construed as being limiting inany way.

From operation 508, the method 500 proceeds to operation 510. The method500 ends at operation 510.

Turning now to FIG. 6, additional details of the network 104 areillustrated, according to an illustrative embodiment. The network 104includes a cellular network 602, which can be one embodiment of thewireless network 114 described herein; a packet data network 604, forexample, the Internet; and a circuit switched network 606, for example,a publicly switched telephone network (“PSTN”). The cellular network 602includes various components such as, but not limited to, basetransceiver stations (“BTSs”), Node-B's or e-Node-B's, base stationcontrollers (“BSCs”), radio network controllers (“RNCs”), mobileswitching centers (“MSCs”), mobile management entities (“MMEs”), shortmessage service centers (“SMSCs”), multimedia messaging service centers(“MMSCs”), home location registers (“HLRs”), home subscriber servers(“HSSs”), visitor location registers (“VLRs”), charging platforms,billing platforms, voicemail platforms, GPRS core network components,location service nodes, an IP Multimedia Subsystem (“IMS”), and thelike. The cellular network 602 also includes radios and nodes forreceiving and transmitting voice, data, and combinations thereof to andfrom radio transceivers, networks, the packet data network 604, and thecircuit switched network 606.

A mobile communication device 608, such as, for example, a cellulartelephone, a user equipment, a mobile terminal, a PDA, a laptopcomputer, a handheld computer, and combinations thereof, can beoperatively connected to the cellular network 602. The cellular network602 can be configured as a 2G GSM network and can provide datacommunications via GPRS and/or EDGE. Additionally, or alternatively, thecellular network 602 can be configured as a 3G UMTS network and canprovide data communications via the HSPA protocol family, for example,HSDPA, EUL (also referred to as HSUPA), and HSPA+. The cellular network602 also is compatible with 4G mobile communications standards as wellas evolved and future mobile standards.

The packet data network 604 includes various devices, for example,servers, computers, databases, and other devices in communication withanother, as is generally known. The packet data network 604 devices areaccessible via one or more network links. The servers often storevarious files that are provided to a requesting device such as, forexample, a computer, a terminal, a smartphone, or the like. Typically,the requesting device includes software (a “browser”) for executing aweb page in a format readable by the browser or other software. Otherfiles and/or data may be accessible via “links” in the retrieved files,as is generally known. In some embodiments, the packet data network 604includes or is in communication with the Internet. The circuit switchednetwork 606 includes various hardware and software for providing circuitswitched communications. The circuit switched network 606 may include,or may be, what is often referred to as a plain old telephone system(POTS). The functionality of a circuit switched network 606 or othercircuit-switched network are generally known and will not be describedherein in detail.

The illustrated cellular network 602 is shown in communication with thepacket data network 604 and a circuit switched network 606, though itshould be appreciated that this is not necessarily the case. One or moreInternet-capable devices 610, for example, a PC, a laptop, a portabledevice, or another suitable device, can communicate with one or morecellular networks 602, and devices connected thereto, through the packetdata network 604. It also should be appreciated that theInternet-capable device 610 can communicate with the packet data network604 through the circuit switched network 606, the cellular network 602,and/or via other networks (not illustrated).

As illustrated, a communication device 612, for example, a telephone,facsimile machine, modem, computer, or the like, can be in communicationwith the circuit switched network 606, and therethrough to the packetdata network 604 and/or the cellular network 602. It should beappreciated that the communication device 612 can be an Internet-capabledevice, and can be substantially similar to the Internet-capable device610. In the specification, the network 104 is used to refer broadly toany combination of the networks 602, 604, 606. It should be appreciatedthat substantially all of the functionality described with reference tothe network 104 can be performed by the cellular network 602, the packetdata network 604, and/or the circuit switched network 606, alone or incombination with other networks, network elements, and the like.

FIG. 7 is a block diagram illustrating a computer system 700 configuredto provide the functionality described herein for setting voice and datapriority using a registration message, in accordance with variousembodiments of the concepts and technologies disclosed herein. Thecomputer system 700 includes a processing unit 702, a memory 704, one ormore user interface devices 706, one or more input/output (“I/O”)devices 708, and one or more network devices 710, each of which isoperatively connected to a system bus 712. The bus 712 enablesbi-directional communication between the processing unit 702, the memory704, the user interface devices 706, the I/O devices 708, and thenetwork devices 710.

The processing unit 702 may be a standard central processor thatperforms arithmetic and logical operations, a more specific purposeprogrammable logic controller (“PLC”), a programmable gate array, orother type of processor known to those skilled in the art and suitablefor controlling the operation of the server computer. As used herein,the word “processor” and/or the phrase “processing unit” when used withregard to any architecture or system can include multiple processors orprocessing units distributed across and/or operating in parallel in asingle machine or in multiple machines. Furthermore, processors and/orprocessing units can include virtual processors. Processors andprocessing units also can include state machines, application-specificintegrated circuits (“ASICs”), combinations thereof, or the like.Because processors and/or processing units are generally known, theprocessors and processing units disclosed herein will not be describedin further detail herein.

The memory 704 communicates with the processing unit 702 via the systembus 712. In some embodiments, the memory 704 is operatively connected toa memory controller (not shown) that enables communication with theprocessing unit 702 via the system bus 712. The memory 704 includes anoperating system 714 and one or more program modules 716. The operatingsystem 714 can include, but is not limited to, members of the WINDOWS,WINDOWS CE, and/or WINDOWS MOBILE families of operating systems fromMICROSOFT CORPORATION, the LINUX family of operating systems, theSYMBIAN family of operating systems from SYMBIAN LIMITED, the BREWfamily of operating systems from QUALCOMM CORPORATION, the MAC OS, iOS,and/or LEOPARD families of operating systems from APPLE CORPORATION, theFREEBSD family of operating systems, the SOLARIS family of operatingsystems from ORACLE CORPORATION, other operating systems, and the like.

The program modules 716 may include various software and/or programmodules described herein. In some embodiments, for example, the programmodules 716 include the voice and data priority application 108 and/orthe communication manager 120 illustrated and described in FIG. 1. Theseand/or other programs can be embodied in computer-readable mediacontaining instructions that, when executed by the processing unit 702,perform one or more of the methods 200, 300, 500 described in detailabove with respect to FIGS. 2-3 and 5. According to embodiments, theprogram modules 716 may be embodied in hardware, software, firmware, orany combination thereof. Although not shown in FIG. 7, it should beunderstood that the memory 704 also can be configured to store the voiceand data priority indicator 110 and/or other data, if desired.

By way of example, and not limitation, computer-readable media mayinclude any available computer storage media or communication media thatcan be accessed by the computer system 700. Communication media includescomputer-readable instructions, data structures, program modules, orother data in a modulated data signal such as a carrier wave or othertransport mechanism and includes any delivery media. The term “modulateddata signal” means a signal that has one or more of its characteristicschanged or set in a manner as to encode information in the signal. Byway of example, and not limitation, communication media includes wiredmedia such as a wired network or direct-wired connection, and wirelessmedia such as acoustic, RF, infrared and other wireless media.Combinations of the any of the above should also be included within thescope of computer-readable media.

Computer storage media includes volatile and non-volatile, removable andnon-removable media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules, or other data. Computer storage media includes, but isnot limited to, RAM, ROM, Erasable Programmable ROM (“EPROM”),Electrically Erasable Programmable ROM (“EEPROM”), flash memory or othersolid state memory technology, CD-ROM, digital versatile disks (“DVD”),or other optical storage, magnetic cassettes, magnetic tape, magneticdisk storage or other magnetic storage devices, or any other mediumwhich can be used to store the desired information and which can beaccessed by the computer system 700. In the claims, the phrase “computerstorage medium” and variations thereof does not include waves or signalsper se and/or communication media.

The user interface devices 706 may include one or more devices withwhich a user accesses the computer system 700. The user interfacedevices 706 may include, but are not limited to, computers, servers,personal digital assistants, cellular phones, or any suitable computingdevices. The I/O devices 708 enable a user to interface with the programmodules 716. In one embodiment, the I/O devices 708 are operativelyconnected to an I/O controller (not shown) that enables communicationwith the processing unit 702 via the system bus 712. The I/O devices 708may include one or more input devices, such as, but not limited to, akeyboard, a mouse, or an electronic stylus. Further, the I/O devices 708may include one or more output devices, such as, but not limited to, adisplay screen or a printer.

The network devices 710 enable the computer system 700 to communicatewith other networks or remote systems via a network, such as the network104. Examples of the network devices 710 include, but are not limitedto, a modem, a radio frequency (“RF”) or infrared (“IR”) transceiver, atelephonic interface, a bridge, a router, or a network card. The network104 may include a wireless network such as, but not limited to, aWireless Local Area Network (“WLAN”) such as a WI-FI network, a WirelessWide Area Network (“WWAN”), a Wireless Personal Area Network (“WPAN”)such as BLUETOOTH, a Wireless Metropolitan Area Network (“WMAN”) such aWiMAX network, or a cellular network. Alternatively, the network 104 maybe a wired network such as, but not limited to, a Wide Area Network(“WAN”) such as the Internet, a Local Area Network (“LAN”) such as theEthernet, a wired Personal Area Network (“PAN”), or a wired MetropolitanArea Network (“MAN”).

Turning now to FIG. 8, an illustrative mobile device 800 and componentsthereof will be described. In some embodiments, the communication device102 described above with reference to FIGS. 1-5 can be configured asand/or can have an architecture similar or identical to the mobiledevice 800 described herein in FIG. 8. It should be understood, however,that the communication device 102 may or may not include thefunctionality described herein with reference to FIG. 8. Whileconnections are not shown between the various components illustrated inFIG. 8, it should be understood that some, none, or all of thecomponents illustrated in FIG. 8 can be configured to interact with oneother to carry out various device functions. In some embodiments, thecomponents are arranged so as to communicate via one or more busses (notshown). Thus, it should be understood that FIG. 8 and the followingdescription are intended to provide a general understanding of asuitable environment in which various aspects of embodiments can beimplemented, and should not be construed as being limiting in any way.

As illustrated in FIG. 8, the mobile device 800 can include a display802 for displaying data. According to various embodiments, the display802 can be configured to display various graphical user interface(“GUI”) elements such as text, images, video, virtual keypads and/orkeyboards, messaging data, notification messages, metadata, internetcontent, device status, time, date, calendar data, device preferences,map and location data, combinations thereof, and/or the like. The mobiledevice 800 also can include a processor 804 and a memory or other datastorage device (“memory”) 806. The processor 804 can be configured toprocess data and/or can execute computer-executable instructions storedin the memory 806. The computer-executable instructions executed by theprocessor 804 can include, for example, an operating system 808, one ormore applications 810 such as the voice and data priority application108, other computer-executable instructions stored in a memory 806, orthe like. In some embodiments, the applications 810 also can include aUI application (not illustrated in FIG. 8).

The UI application can interface with the operating system 808, such asthe operating system 106 shown in FIG. 1, to facilitate user interactionwith functionality and/or data stored at the mobile device 800 and/orstored elsewhere. In some embodiments, the operating system 808 caninclude a member of the SYMBIAN OS family of operating systems fromSYMBIAN LIMITED, a member of the WINDOWS MOBILE OS and/or WINDOWS PHONEOS families of operating systems from MICROSOFT CORPORATION, a member ofthe PALM WEBOS family of operating systems from HEWLETT PACKARDCORPORATION, a member of the BLACKBERRY OS family of operating systemsfrom RESEARCH IN MOTION LIMITED, a member of the IOS family of operatingsystems from APPLE INC., a member of the ANDROID OS family of operatingsystems from GOOGLE INC., and/or other operating systems. Theseoperating systems are merely illustrative of some contemplated operatingsystems that may be used in accordance with various embodiments of theconcepts and technologies described herein and therefore should not beconstrued as being limiting in any way.

The UI application can be executed by the processor 804 to aid a user inentering content, to show voice and data priority choices and/or toconfigure how and/or when voice and data priority indicators 110 areprovided to various entities, configuring settings, manipulating addressbook content and/or settings, multimode interaction, interacting withother applications 810, and otherwise facilitating user interaction withthe operating system 808, the applications 810, and/or other types orinstances of data 812 that can be stored at the mobile device 800. Thedata 812 can include, for example, the voice and data priority indicator110 and/or other applications or program modules. According to variousembodiments, the data 812 can include, for example, presenceapplications, visual voice mail applications, messaging applications,text-to-speech and speech-to-text applications, add-ons, plug-ins, emailapplications, music applications, video applications, cameraapplications, location-based service applications, power conservationapplications, game applications, productivity applications,entertainment applications, enterprise applications, combinationsthereof, and the like. The applications 810, the data 812, and/orportions thereof can be stored in the memory 806 and/or in a firmware814, and can be executed by the processor 804. The firmware 814 also canstore code for execution during device power up and power downoperations. It can be appreciated that the firmware 814 can be stored ina volatile or non-volatile data storage device including, but notlimited to, the memory 806 and/or a portion thereof.

The mobile device 800 also can include an input/output (“I/O”) interface816. The I/O interfaced 816 can be configured to support theinput/output of data such as location information, voice capabilities,data capabilities, voice/data priority choices, prioritization choices,user information, organization information, presence status information,user IDs, passwords, and application initiation (start-up) requests. Insome embodiments, the I/O interface 816 can include a hardwireconnection such as a universal serial bus (“USB”) port, a mini-USB port,a micro-USB port, an audio jack, a PS2 port, an IEEE 1394 (“FIREWIRE”)port, a serial port, a parallel port, an Ethernet (RJ45) port, an RJ11port, a proprietary port, combinations thereof, or the like. In someembodiments, the mobile device 800 can be configured to synchronize withanother device to transfer content to and/or from the mobile device 800.In some embodiments, the mobile device 800 can be configured to receiveupdates to one or more of the applications 810 via the I/O interface816, though this is not necessarily the case. In some embodiments, theI/O interface 816 accepts I/O devices such as keyboards, keypads, mice,interface tethers, printers, plotters, external storage,touch/multi-touch screens, touch pads, trackballs, joysticks,microphones, remote control devices, displays, projectors, medicalequipment (e.g., stethoscopes, heart monitors, and other health metricmonitors), modems, routers, external power sources, docking stations,combinations thereof, and the like. It should be appreciated that theI/O interface 816 may be used for communications between the mobiledevice 800 and a network device or local device.

The mobile device 800 also can include a communications component 818.The communications component 818 can be configured to interface with theprocessor 804 to facilitate wired and/or wireless communications withone or more networks such as the network 104 and/or the wireless network114 described herein. In some embodiments, other networks includenetworks that utilize non-cellular wireless technologies such as WI-FIor WIMAX. In some embodiments, the communications component 818 includesa multimode communications subsystem for facilitating communications viathe cellular network and one or more other networks.

The communications component 818, in some embodiments, includes one ormore transceivers. The one or more transceivers, if included, can beconfigured to communicate over the same and/or different wirelesstechnology standards with respect to one another. For example, in someembodiments one or more of the transceivers of the communicationscomponent 818 may be configured to communicate using GSM, CDMAONE,CDMA2000, LTE, and various other 2G, 2.5G, 3G, 4G, and greatergeneration technology standards. Moreover, the communications component818 may facilitate communications over various channel access methods(which may or may not be used by the aforementioned standards)including, but not limited to, TDMA, FDMA, W-CDMA, OFDM, SDMA, and thelike.

In addition, the communications component 818 may facilitate datacommunications using GPRS, EDGE, the HSPA protocol family includingHSDPA, EUL or otherwise termed HSUPA, HSPA+, and various other currentand future wireless data access standards. In the illustratedembodiment, the communications component 818 can include a firsttransceiver (“TxRx”) 820A that can operate in a first communicationsmode (e.g., GSM). The communications component 818 also can include anN^(th) transceiver (“TxRx”) 820N that can operate in a secondcommunications mode relative to the first transceiver 820A (e.g., UMTS).While two transceivers 820A-N (hereinafter collectively and/orgenerically referred to as “transceivers 820”) are shown in FIG. 8, itshould be appreciated that less than two, two, and/or more than twotransceivers 820 can be included in the communications component 818.

The communications component 818 also can include an alternativetransceiver (“Alt TxRx”) 822 for supporting other types and/or standardsof communications. According to various contemplated embodiments, thealternative transceiver 822 can communicate using various communicationstechnologies such as, for example, WI-FI, WIMAX, BLUETOOTH, infrared,infrared data association (“IRDA”), near field communications (“NFC”),other RF technologies, combinations thereof, and the like. In someembodiments, the communications component 818 also can facilitatereception from terrestrial radio networks, digital satellite radionetworks, internet-based radio service networks, combinations thereof,and the like. The communications component 818 can process data from anetwork such as the Internet, an intranet, a broadband network, a WI-FIhotspot, an Internet service provider (“ISP”), a digital subscriber line(“DSL”) provider, a broadband provider, combinations thereof, or thelike.

The mobile device 800 also can include one or more sensors 824. Thesensors 824 can include temperature sensors, light sensors, air qualitysensors, movement sensors, orientation sensors, noise sensors, proximitysensors, or the like. As such, it should be understood that the sensors824 can include, but are not limited to, accelerometers, magnetometers,gyroscopes, infrared sensors, noise sensors, microphones, combinationsthereof, or the like. Additionally, audio capabilities for the mobiledevice 800 may be provided by an audio I/O component 826. The audio I/Ocomponent 826 of the mobile device 800 can include one or more speakersfor the output of audio signals, one or more microphones for thecollection and/or input of audio signals, and/or other audio inputand/or output devices.

The illustrated mobile device 800 also can include a subscriber identitymodule (“SIM”) system 828. The SIM system 828 can include a universalSIM (“USIM”), a universal integrated circuit card (“UICC”) and/or otheridentity devices. The SIM system 828 can include and/or can be connectedto or inserted into an interface such as a slot interface 830. In someembodiments, the slot interface 830 can be configured to acceptinsertion of other identity cards or modules for accessing various typesof networks. Additionally, or alternatively, the slot interface 830 canbe configured to accept multiple subscriber identity cards. Becauseother devices and/or modules for identifying users and/or the mobiledevice 800 are contemplated, it should be understood that theseembodiments are illustrative, and should not be construed as beinglimiting in any way.

The mobile device 800 also can include an image capture and processingsystem 832 (“image system”). The image system 832 can be configured tocapture or otherwise obtain photos, videos, and/or other visualinformation. As such, the image system 832 can include cameras, lenses,charge-coupled devices (“CCDs”), combinations thereof, or the like. Themobile device 800 may also include a video system 834. The video system834 can be configured to capture, process, record, modify, and/or storevideo content. Photos and videos obtained using the image system 832 andthe video system 834, respectively, may be added as message content toan MMS message, email message, and sent to another mobile device. Thevideo and/or photo content also can be shared with other devices viavarious types of data transfers via wired and/or wireless communicationdevices as described herein.

The mobile device 800 also can include one or more location components836. The location components 836 can be configured to send and/orreceive signals to determine a geographic location of the mobile device800. According to various embodiments, the location components 836 cansend and/or receive signals from global positioning system (“GPS”)devices, assisted-GPS (“A-GPS”) devices, WI-FI/WIMAX and/or cellularnetwork triangulation data, combinations thereof, and the like. Thelocation component 836 also can be configured to communicate with thecommunications component 818 to retrieve triangulation data fordetermining a location of the mobile device 800. In some embodiments,the location component 836 can interface with cellular network nodes,telephone lines, satellites, location transmitters and/or beacons,wireless network transmitters and receivers, combinations thereof, andthe like. In some embodiments, the location component 836 can includeand/or can communicate with one or more of the sensors 824 such as acompass, an accelerometer, and/or a gyroscope to determine theorientation of the mobile device 800. Using the location component 836,the mobile device 800 can generate and/or receive data to identify itsgeographic location, or to transmit data used by other devices todetermine the location of the mobile device 800. The location component836 may include multiple components for determining the location and/ororientation of the mobile device 800.

The illustrated mobile device 800 also can include a power source 838.The power source 838 can include one or more batteries, power supplies,power cells, and/or other power subsystems including alternating current(“AC”) and/or direct current (“DC”) power devices. The power source 838also can interface with an external power system or charging equipmentvia a power I/O component 840. Because the mobile device 800 can includeadditional and/or alternative components, the above embodiment should beunderstood as being illustrative of one possible operating environmentfor various embodiments of the concepts and technologies describedherein. The described embodiment of the mobile device 800 isillustrative, and should not be construed as being limiting in any way.

Based on the foregoing, it should be appreciated that systems andmethods for setting voice and data priority using a registration messagehave been disclosed herein. Although the subject matter presented hereinhas been described in language specific to computer structural features,methodological and transformative acts, specific computing machinery,and computer-readable media, it is to be understood that the conceptsand technologies disclosed herein are not necessarily limited to thespecific features, acts, or media described herein. Rather, the specificfeatures, acts and mediums are disclosed as example forms ofimplementing the concepts and technologies disclosed herein.

The subject matter described above is provided by way of illustrationonly and should not be construed as limiting. Various modifications andchanges may be made to the subject matter described herein withoutfollowing the example embodiments and applications illustrated anddescribed, and without departing from the true spirit and scope of theembodiments of the concepts and technologies disclosed herein.

We claim:
 1. A method comprising: generating, by a processor that executes a voice and data priority application, a voice and data priority indicator for a communication device; storing, by the processor, the voice and data priority indicator at the communication device; generating, by the processor, a registration message that comprises the voice and data priority indicator; and sending, by the processor, the registration message to a communications network to request registration of the communication device with the communications network.
 2. The method of claim 1, wherein the voice and data priority indicator comprises a multi-bit indicator included in the registration message.
 3. The method of claim 1, wherein the voice and data priority indicator comprises: a first bit indicating a voice capability of the communication device; a second bit indicating a data capability of the communication device; a third bit indicating a class of device for the communication device; and a fourth bit indicating if data communications are to be prioritized over voice communications.
 4. The method of claim 1, wherein the registration message comprises a DoesNotBenefitFromBatteryConsumptionOptimisation information element, and wherein the DoesNotBenefitFromBatteryConsumptionOptimisation information element comprises the voice and data priority indicator.
 5. The method of claim 1, further comprising: determining, by the processor, that the voice and data priority indicator is to be updated; updating, by the processor, the voice and data priority indicator; and sending, by the processor, the voice and data priority indicator to a network element.
 6. The method of claim 1, wherein the voice and data priority indicator is stored at a subscriber identity module of the communication device.
 7. The method of claim 1, wherein the voice and data priority indicator is stored at a data storage device of the communication device.
 8. The method of claim 1, wherein sending the registration message comprises sending the registration message to a network element, and wherein the voice and data priority indicator configures the network element for communications in accordance with the voice and data priority indicator.
 9. The method of claim 8, wherein the network element comprises a base transceiver station associated with a wireless network.
 10. A device comprising: a processor; and a memory that stores computer-executable instructions that, when executed by the processor, cause the processor to perform operations comprising generating a voice and data priority indicator, storing the voice and data priority indicator at the memory, generating a registration message that comprises the voice and data priority indicator, and sending the registration message to a communications network to request registration with the communications network.
 11. The device of claim 10, wherein the voice and data priority indicator comprises a multi-bit indicator included in the registration message.
 12. The device of claim 11, wherein the voice and data priority indicator comprises: a first bit indicating a voice capability; a second bit indicating a data capability; a third bit indicating a class of device; and a fourth bit indicating if data communications are to be prioritized over voice communications.
 13. The device of claim 10, wherein the registration message comprises a DoesNotBenefitFromBatteryConsumptionOptimisation information element, and wherein the DoesNotBenefitFromBatteryConsumptionOptimisation information element comprises the voice and data priority indicator.
 14. The device of claim 10, wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising: determining that the voice and data priority indicator is to be updated; updating the voice and data priority indicator; and sending the voice and data priority indicator to the communications network.
 15. The device of claim 10, wherein sending the registration message comprises sending the registration message to a network element, and wherein the voice and data priority indicator configures the network element for communications in accordance with the voice and data priority indicator.
 16. A computer storage medium having stored thereon computer-executable instructions that, when executed by a processor, cause the processor to perform operations comprising: generating a voice and data priority indicator for a communication device; storing the voice and data priority indicator at the communication device; generating a registration message that comprises the voice and data priority indicator; and sending the registration message to a communications network to request registration with the communications network.
 17. The computer storage medium of claim 16, wherein the voice and data priority indicator comprises a multi-bit indicator included in the registration message.
 18. The computer storage medium of claim 16, wherein the voice and data priority indicator comprises: a first bit indicating a voice capability of the communication device; a second bit indicating a data capability of the communication device; a third bit indicating a class of device for the communication device; and a fourth bit indicating if data communications are to be prioritized over voice communications.
 19. The computer storage medium of claim 16, wherein the computer-executable instructions, when executed by the processor, cause the processor to perform operations further comprising: determining that the voice and data priority indicator is to be updated; updating the voice and data priority indicator; and sending the voice and data priority indicator to the communications network.
 20. The computer storage medium of claim 16, wherein sending the registration message comprises sending the registration message to a network element, and wherein the voice and data priority indicator configures the network element for communications in accordance with the voice and data priority indicator. 